<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>string literals - cppreference.com</title>
<meta charset="UTF-8">
<meta name="generator" content="MediaWiki 1.21.2">


<link rel="shortcut icon" href="../../../favicon.ico">



<link rel="stylesheet" href="../../../common/ext.css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" href="../../../common/site_modules.css">
<style>a:lang(ar),a:lang(ckb),a:lang(fa),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}#toc{display:none}.editsection{display:none}
/* cache key: mwiki1-mwiki_en_:resourceloader:filter:minify-css:7:472787eddcf4605d11de8c7ef047234f */</style>

<script src="../../../common/startup_scripts.js"></script>
<script>if(window.mw){
mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"c/language/string_literal","wgTitle":"c/language/string literal","wgCurRevisionId":79146,"wgArticleId":13907,"wgIsArticle":true,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"c/language/string_literal","wgRestrictionEdit":[],"wgRestrictionMove":[]});
}</script><script>if(window.mw){
mw.loader.implement("user.options",function(){mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"disablesuggest":0,"editfont":"default","editondblclick":0,"editsection":0,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":0,"extendwatchlist":0,"externaldiff":0,"externaleditor":0,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"imagesize":2,"justify":0,"math":1,"minordefault":0,"newpageshidepatrolled":0,"nocache":0,"noconvertlink":0,"norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"quickbar":5,"rcdays":7,"rclimit":50,"rememberpassword":0,"rows":25,"searchlimit":20,"showhiddencats":0,"showjumplinks":1,"shownumberswatching":1,"showtoc":0,"showtoolbar":1,"skin":"cppreference2","stubthreshold":0,"thumbsize":2,"underline":2,"uselivepreview":0,"usenewrc":0,"watchcreations":0,"watchdefault":0,"watchdeletion":0,
"watchlistdays":3,"watchlisthideanons":0,"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,"wllimit":250,"variant":"en","language":"en","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false,"gadget-ColiruCompiler":1});;},{},{});mw.loader.implement("user.tokens",function(){mw.user.tokens.set({"editToken":"+\\","patrolToken":false,"watchToken":false});;},{},{});
/* cache key: mwiki1-mwiki_en_:resourceloader:filter:minify-js:7:ca03345b1e2c4d90a25d968753a73b92 */
}</script>
<script>if(window.mw){
mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","mediawiki.legacy.ajax"]);
}</script>
<style type="text/css">/*<![CDATA[*/
.source-c {line-height: normal;}
.source-c li, .source-c pre {
	line-height: normal; border: 0px none white;
}
/**
 * GeSHi Dynamically Generated Stylesheet
 * --------------------------------------
 * Dynamically generated stylesheet for c
 * CSS class: source-c, CSS id: 
 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
 * (http://qbnz.com/highlighter/ and http://geshi.org/)
 * --------------------------------------
 */
.c.source-c .de1, .c.source-c .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
.c.source-c  {font-family:monospace;}
.c.source-c .imp {font-weight: bold; color: red;}
.c.source-c li, .c.source-c .li1 {font-weight: normal; vertical-align:top;}
.c.source-c .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
.c.source-c .li2 {font-weight: bold; vertical-align:top;}
.c.source-c .kw1 {color: #0000dd;}
.c.source-c .kw2 {color: #0000ff;}
.c.source-c .kw3 {color: #0000dd;}
.c.source-c .kw4 {color: #0000ff;}
.c.source-c .co1 {color: #909090;}
.c.source-c .co2 {color: #339900;}
.c.source-c .coMULTI {color: #ff0000; font-style: italic;}
.c.source-c .es0 {color: #008000; font-weight: bold;}
.c.source-c .es1 {color: #008000; font-weight: bold;}
.c.source-c .es2 {color: #008000; font-weight: bold;}
.c.source-c .es3 {color: #008000; font-weight: bold;}
.c.source-c .es4 {color: #008000; font-weight: bold;}
.c.source-c .es5 {color: #008000; font-weight: bold;}
.c.source-c .br0 {color: #008000;}
.c.source-c .sy0 {color: #008000;}
.c.source-c .sy1 {color: #000080;}
.c.source-c .sy2 {color: #000040;}
.c.source-c .sy3 {color: #000040;}
.c.source-c .sy4 {color: #008080;}
.c.source-c .st0 {color: #008000;}
.c.source-c .nu0 {color: #000080;}
.c.source-c .nu6 {color:#000080;}
.c.source-c .nu8 {color:#000080;}
.c.source-c .nu12 {color:#000080;}
.c.source-c .nu16 {color:#000080;}
.c.source-c .nu17 {color:#000080;}
.c.source-c .nu18 {color:#000080;}
.c.source-c .nu19 {color:#000080;}
.c.source-c .ln-xtra, .c.source-c li.ln-xtra, .c.source-c div.ln-xtra {background-color: #ffc;}
.c.source-c span.xtra { display:block; }

/*]]>*/
</style>
<style type="text/css">/*<![CDATA[*/
.source-text {line-height: normal;}
.source-text li, .source-text pre {
	line-height: normal; border: 0px none white;
}
/**
 * GeSHi Dynamically Generated Stylesheet
 * --------------------------------------
 * Dynamically generated stylesheet for text
 * CSS class: source-text, CSS id: 
 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
 * (http://qbnz.com/highlighter/ and http://geshi.org/)
 * --------------------------------------
 */
.text.source-text .de1, .text.source-text .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
.text.source-text  {font-family:monospace;}
.text.source-text .imp {font-weight: bold; color: red;}
.text.source-text li, .text.source-text .li1 {font-weight: normal; vertical-align:top;}
.text.source-text .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
.text.source-text .li2 {font-weight: bold; vertical-align:top;}
.text.source-text .ln-xtra, .text.source-text li.ln-xtra, .text.source-text div.ln-xtra {background-color: #ffc;}
.text.source-text span.xtra { display:block; }

/*]]>*/
</style>
<!--[if lt IE 7]><style type="text/css">body{behavior:url("/mwiki/skins/cppreference2/csshover.min.htc")}</style><![endif]-->
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-c_language_string_literal skin-cppreference2 action-view cpp-navbar">
        <!-- header -->
        
        <!-- /header -->
        <!-- content -->
        <div id="cpp-content-base">
            <div id="content">
                <a id="top"></a>
                <div id="mw-js-message" style="display:none;"></div>
                                <!-- firstHeading -->
                <h1 id="firstHeading" class="firstHeading">string literals</h1>
                <!-- /firstHeading -->
                <!-- bodyContent -->
                <div id="bodyContent">
                                        <!-- tagline -->
                    <div id="siteSub">From cppreference.com</div>
                    <!-- /tagline -->
                                        <!-- subtitle -->
                    <div id="contentSub"><span class="subpages">&lt; <a href="../../c.html" title="c">c</a>‎ | <a href="../language.1.html" title="c/language">language</a></span></div>
                    <!-- /subtitle -->
                                                            <!-- bodycontent -->
                    <div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr">
<div class="t-navbar" style="">
<div class="t-navbar-sep"> </div>
<div class="t-navbar-head">
<a href="../../c.html" title="c"> C</a><div class="t-navbar-menu"><div>
<div><table class="t-nv-begin" cellpadding="0" style="line-height:1.1em;">
<tr class="t-nv"><td colspan="5"> <a href="../language.1.html" title="c/language"> Language</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../header.html" title="c/header"> headers</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../types.html" title="c/types"> Type support</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../memory.html" title="c/memory"> Dynamic memory management</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../error.html" title="c/error"> Error handling</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../program.html" title="c/program"> Program utilities</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../variadic.html" title="c/variadic"> Variadic function support</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../chrono.html" title="c/chrono"> Date and time utilities</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../string.html" title="c/string"> Strings library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../algorithm.html" title="c/algorithm"> Algorithms</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../numeric.html" title="c/numeric"> Numerics</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../io.html" title="c/io"> Input/output support</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../locale.html" title="c/locale"> Localization support</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../thread.html" title="c/thread"> Thread support</a> <span class="t-mark-rev t-since-c11">(C11)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../atomic.html" title="c/atomic"> Atomic operations</a> <span class="t-mark-rev t-since-c11">(C11)</span> </td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="../experimental.html" title="c/experimental"><span class="t-lines"><span>Technical Specifications</span></span></a></div></div></td></tr>
</table></div>
<div></div>
</div></div>
</div>
<div class="t-navbar-sep"> </div>
<div class="t-navbar-head">
<a href="../language.1.html" title="c/language"> C language</a><div class="t-navbar-menu"><div>
<div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="ascii.html" title="c/language/ascii"><span class="t-lines"><span>ASCII chart</span></span></a></div></div></td></tr>
<tr class="t-nv-h2"><td colspan="5"> <a href="basic_concepts.html" title="c/language/basic concepts">Basic concepts</a>
</td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="translation_phases.html" title="c/language/translation phases"><span class="t-lines"><span>translation phases</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="../comment.html" title="c/comment"><span class="t-lines"><span>comment</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="identifier.html" title="c/language/identifier"><span class="t-lines"><span>identifier</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="scope.html" title="c/language/scope"><span class="t-lines"><span>scope</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="lifetime.html" title="c/language/lifetime"><span class="t-lines"><span>lifetime</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="name_space.html" title="c/language/name space"><span class="t-lines"><span>name space</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="compatible_type.html" title="c/language/type"><span class="t-lines"><span>type</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="arithmetic_types.html" title="c/language/arithmetic types"><span class="t-lines"><span>arithmetic types</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="object.html" title="c/language/object"><span class="t-lines"><span>object</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="main_function.html" title="c/language/main function"><span class="t-lines"><span>main function</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="memory_model.html" title="c/language/memory model"><span class="t-lines"><span>memory model</span></span></a></div></div></td></tr>
<tr class="t-nv-h2"><td colspan="5"> <a href="../keyword.html" title="c/keyword"> Keywords</a>
</td></tr>
<tr class="t-nv-h2"><td colspan="5"> <a href="../preprocessor.html" title="c/preprocessor"> Preprocessor</a>
</td></tr>
<tr class="t-nv-h2"><td colspan="5"> <a href="statements.html" title="c/language/statements"> Statements</a>
</td></tr>
<tr class="t-nv-h2"><td colspan="5"> <a href="expressions.html" title="c/language/expressions"> Expressions</a>
</td></tr>
<tr class="t-nv-h2"><td colspan="5"> <a href="initialization.html" title="c/language/initialization"> Initialization</a>
</td></tr>
<tr class="t-nv-h2"><td colspan="5"> <a href="declarations.html" title="c/language/declarations"> Declarations</a>
</td></tr>
<tr class="t-nv-h2"><td colspan="5"> <a href="functions.html" title="c/language/functions"> Functions</a>
</td></tr>
<tr class="t-nv-h2"><td colspan="5"> Miscellaneous</td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="history.html" title="c/language/history"><span class="t-lines"><span>history of C</span></span></a></div></div></td></tr>
<tr class="t-nv-h2"><td colspan="5"> <a href="../experimental.html" title="c/experimental">Technical Specifications</a> </td></tr>
</table></div>
<div></div>
</div></div>
</div>
<div class="t-navbar-sep"> </div>
<div class="t-navbar-head">
<a href="expressions.html" title="c/language/expressions"> Expressions</a><div class="t-navbar-menu"><div>
<div style="display:inline-block">
<div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv-h2"><td colspan="5"> General </td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="value_category.html" title="c/language/value category"><span class="t-lines"><span>value category</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="eval_order.html" title="c/language/eval order"><span class="t-lines"><span>evaluation order and sequence points</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="constant_expression.html" title="c/language/constant expression"><span class="t-lines"><span>constant expressions</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="conversion.html" title="c/language/conversion"><span class="t-lines"><span>implicit conversions</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="generic.html" title="c/language/generic"><span class="t-lines"><span>generic selection</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv-h2"><td colspan="5"> <a href="expressions.html#Constants_and_literals" title="c/language/expressions">constants and literals</a> </td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="integer_constant.html" title="c/language/integer constant"><span class="t-lines"><span>integer constant</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="floating_constant.html" title="c/language/floating constant"><span class="t-lines"><span>floating constant</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="character_constant.html" title="c/language/character constant"><span class="t-lines"><span>character constant</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><strong class="selflink"><span class="t-lines"><span>string literal</span></span></strong></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="compound_literal.html" title="c/language/compound literal"><span class="t-lines"><span>compound literal</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div>
</div></td></tr>
<tr class="t-nv-h2"><td colspan="5"> <a href="expressions.html#Operators" title="c/language/expressions">operators</a> </td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="operator_precedence.html" title="c/language/operator precedence"><span class="t-lines"><span>operator precedence</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="operator_member_access.html" title="c/language/operator member access"><span class="t-lines"><span>member access and indirection</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="operator_logical.html" title="c/language/operator logical"><span class="t-lines"><span>logical operators</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="operator_comparison.html" title="c/language/operator comparison"><span class="t-lines"><span>comparison operators</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="operator_arithmetic.html" title="c/language/operator arithmetic"><span class="t-lines"><span>arithmetic operators</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="operator_assignment.html" title="c/language/operator assignment"><span class="t-lines"><span>assignment operators</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="operator_incdec.html" title="c/language/operator incdec"><span class="t-lines"><span>increment and decrement</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="operator_other.html" title="c/language/operator other"><span class="t-lines"><span>function call, comma, conditional operator</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="sizeof.html" title="c/language/sizeof"><span class="t-lines"><span>sizeof</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="alignof.html" title="c/language/ Alignof"><span class="t-lines"><span>alignof</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c11">(C11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="cast.html" title="c/language/cast"><span class="t-lines"><span>cast operators</span></span></a></div></div></td></tr>
</table></div>
</div>
<div></div>
</div></div>
</div>
<div class="t-navbar-sep"> </div>
</div>
<p>Constructs an unnamed object of specified character array type in-place, used when a character string needs to be embedded in source code.
</p>
<table id="toc" class="toc"><tr><td>
<div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="string_literal.html#Syntax"><span class="tocnumber">1</span> <span class="toctext">Syntax</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="string_literal.html#Explanation"><span class="tocnumber">2</span> <span class="toctext">Explanation</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="string_literal.html#Notes"><span class="tocnumber">3</span> <span class="toctext">Notes</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="string_literal.html#Example"><span class="tocnumber">4</span> <span class="toctext">Example</span></a></li>
<li class="toclevel-1 tocsection-5"><a href="string_literal.html#References"><span class="tocnumber">5</span> <span class="toctext">References</span></a></li>
<li class="toclevel-1 tocsection-6"><a href="string_literal.html#See_also"><span class="tocnumber">6</span> <span class="toctext">See also</span></a></li>
</ul>
</td></tr></table>
<h3>
<span class="editsection">[<a href="http%3A//en.cppreference.com/mwiki/index.php" title="Edit section: Syntax">edit</a>]</span> <span class="mw-headline" id="Syntax">Syntax</span>
</h3>
<table class="t-sdsc-begin">

<tr>
<td colspan="10" class="t-sdsc-sep">
</td>
</tr>
<tr class="t-sdsc">
<td> <code><b>"</b></code> <span class="t-spar">s-char-sequence</span> <code><b>"</b></code>
</td>
<td> (1)
</td>
<td class="t-sdsc-nopad">
</td>
</tr>



<tr>
<td colspan="10" class="t-sdsc-sep">
</td>
</tr>
<tr class="t-sdsc">
<td> <code><b>u8</b></code> <code><b>"</b></code> <span class="t-spar">s-char-sequence</span> <code><b>"</b></code>
</td>
<td> (2)
</td>
<td> <span class="t-mark-rev t-since-c11">(since C11)</span>
</td>
</tr>



<tr>
<td colspan="10" class="t-sdsc-sep">
</td>
</tr>
<tr class="t-sdsc">
<td> <code><b>u</b></code> <code><b>"</b></code> <span class="t-spar">s-char-sequence</span> <code><b>"</b></code>
</td>
<td> (3)
</td>
<td> <span class="t-mark-rev t-since-c11">(since C11)</span>
</td>
</tr>



<tr>
<td colspan="10" class="t-sdsc-sep">
</td>
</tr>
<tr class="t-sdsc">
<td> <code><b>U</b></code> <code><b>"</b></code> <span class="t-spar">s-char-sequence</span> <code><b>"</b></code>
</td>
<td> (4)
</td>
<td> <span class="t-mark-rev t-since-c11">(since C11)</span>
</td>
</tr>



<tr>
<td colspan="10" class="t-sdsc-sep">
</td>
</tr>
<tr class="t-sdsc">
<td> <code><b>L</b></code> <code><b>"</b></code> <span class="t-spar">s-char-sequence</span> <code><b>"</b></code>
</td>
<td> (5)
</td>
<td class="t-sdsc-nopad">
</td>
</tr>



<tr>
<td colspan="10" class="t-sdsc-sep">
</td>
</tr>
</table>
<p>where
</p>
<table class="t-par-begin">


<tr class="t-par">
<td>  <span class="t-spar">s-char-sequence</span>
</td>
<td> -
</td>
<td>  zero or more characters, each of which is either a multibyte character from the source character set (excluding (<code><b>"</b></code>), <code><b>\</b></code>, and newline), or character escape, hex escape, octal escape<span class="t-rev-inl t-since-c99"><span>, or unified character name</span> <span><span class="t-mark-rev t-since-c99">(since C99)</span></span></span> as defined in <a href="escape.html" title="c/language/escape">escape sequences</a>.
<p><br>
</p>
</td>
</tr>
</table>
<div class="t-li1">
<span class="t-li">1)</span> <i>character string literal</i>: The type of the literal is <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">char</span><span class="br0">[</span><span class="br0">]</span></span></span>, each character in the array is initialized from the next character in <span class="t-spar">s-char-sequence</span> using the execution character set.</div>
<div class="t-li1">
<span class="t-li">2)</span> <i>UTF-8 string literal</i>: The type of the literal is <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">char</span><span class="br0">[</span><span class="br0">]</span></span></span>, each character in the array is initialized from the next multibyte character in <span class="t-spar">s-char-sequence</span> using UTF-8 encoding.</div>
<div class="t-li1">
<span class="t-li">3)</span> 16-bit wide string literal: The type of the literal is <span class="t-c"><span class="mw-geshi c source-c">char16_t<span class="br0">[</span><span class="br0">]</span></span></span>, each char16_t element in the array is initialized as if by executing <span class="t-lc"><a href="../string/multibyte/mbrtoc16.html" title="c/string/multibyte/mbrtoc16">mbrtoc16</a></span> in implementation-defined locale.</div>
<div class="t-li1">
<span class="t-li">4)</span> 32-bit wide string literal: The type of the literal is <span class="t-c"><span class="mw-geshi c source-c">char32_t<span class="br0">[</span><span class="br0">]</span></span></span>, each char32_t element in the array is initialized as if by executing <span class="t-lc"><a href="../string/multibyte/mbrtoc32.html" title="c/string/multibyte/mbrtoc32">mbrtoc32</a></span> in implementation-defined locale.</div>
<div class="t-li1">
<span class="t-li">5)</span> wide string literal: The type of the literal is <span class="t-c"><span class="mw-geshi c source-c"><span class="kw4">wchar_t</span><span class="br0">[</span><span class="br0">]</span></span></span>, each wchar_t element in the array is initialized as if by executing <span class="t-lc"><a href="../string/multibyte/mbstowcs.html" title="c/string/multibyte/mbstowcs">mbstowcs</a></span> in implementation-defined locale.</div>
<h3>
<span class="editsection">[<a href="http%3A//en.cppreference.com/mwiki/index.php" title="Edit section: Explanation">edit</a>]</span> <span class="mw-headline" id="Explanation">Explanation</span>
</h3>
<p>First, at <a href="translation_phases.html" title="c/language/translation phases">translation phase 6</a> (after macro expansion), the adjacent string literals (that is, string literals separated by whitespace only) are concatenated.
</p>
 <table class="t-rev-begin">
<tr class="t-rev t-until-c99">
<td>
<p>Only two narrow or two wide string literals may be concatenated.
</p>
</td>
<td><span class="t-mark">(until C99)</span></td>
</tr>
<tr class="t-rev t-since-c99">
<td>
<p>If one literal is unprefixed, the resulting string literal has the width/encoding specified by the prefixed literal. If the two string literals have different encoding prefixes, concatenation is implementation-defined. 
</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="c source-c"><pre class="de1">L<span class="st0">"Δx = %"</span> <a href="../types/integer.html"><span class="kw177">PRId16</span></a> <span class="co1">// at phase 4, PRId16 expands to "d"</span>
                 <span class="co1">// at phase 6, L"Δx = %" and "d" form L"Δx = %d"</span></pre></div></div>
</td>
<td><span class="t-mark-rev t-since-c99">(since C99)</span></td>
</tr>
</table>
<p>Then (at stage 7), a terminating null character is added to each string literal, and then each literal initializes an unnamed array with static <a href="storage_duration.html" title="c/language/storage duration">storage duration</a> and length just enough to contain the contents of the string literal plus one the null terminator.
</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="c source-c"><pre class="de1"><span class="kw4">char</span><span class="sy2">*</span> p <span class="sy1">=</span> <span class="st0">"<span class="es2">\x12</span>"</span> <span class="st0">"3"</span><span class="sy4">;</span> <span class="co1">// creates a static char[3] array holding {'\x12', '3', '\0'} </span>
                      <span class="co1">// sets p to point to the first element of the array</span></pre></div></div>
<p>String literals are <b>not modifiable</b> (and in fact may be placed in read-only memory such as <code>.rodata</code>). If a program attempts to modify the static array formed by a string literal, the behavior is undefined.
</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="c source-c"><pre class="de1"><span class="kw4">char</span><span class="sy2">*</span> p <span class="sy1">=</span> <span class="st0">"Hello"</span><span class="sy4">;</span>
p<span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span> <span class="sy1">=</span> <span class="st0">'M'</span><span class="sy4">;</span> <span class="co1">// Undefined behavior</span></pre></div></div>
<p>It is neither required nor forbidden for identical string literals to refer to the same location in memory. Moreover, overlapping string literals or string literals that are substrings of other string literals may be combined.
</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="c source-c"><pre class="de1"><span class="st0">"def"</span> <span class="sy1">==</span> <span class="nu0">3</span><span class="sy2">+</span><span class="st0">"abcdef"</span><span class="sy4">;</span> <span class="co1">// may be 1 or 0, implementation-defined</span></pre></div></div>
<h3>
<span class="editsection">[<a href="http%3A//en.cppreference.com/mwiki/index.php" title="Edit section: Notes">edit</a>]</span> <span class="mw-headline" id="Notes">Notes</span>
</h3>
<p>A string literal is not necessarily a string; if a string literal has embedded null characters, it represents an array which contains more than one string:
</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="c source-c"><pre class="de1"><span class="kw4">char</span><span class="sy2">*</span> p <span class="sy1">=</span> <span class="st0">"abc<span class="es5">\0</span>def"</span><span class="sy4">;</span> <span class="co1">// strlen(p) == 3, but the array has size 8</span></pre></div></div>
<p>If a valid hex digit follows a hex escape in a string literal, it would fail to compile as an invalid escape sequence, but string concatenation can be used as a workaround:
</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="c source-c"><pre class="de1"><span class="co1">//char* p = "\xfff"; // error: hex escape sequence out of range</span>
<span class="kw4">char</span><span class="sy2">*</span> p <span class="sy1">=</span> <span class="st0">"<span class="es2">\xff</span>"</span><span class="st0">"f"</span><span class="sy4">;</span> <span class="co1">// okay, the literal is char[3] holding {'\xff', 'f', '\0'}</span></pre></div></div>
<p>String literals can be used to <a href="array_initialization.html" title="c/language/array initialization">initialize arrays</a>, and if the size of the array is one less the size of the string literal, the null terminator is ignored:
</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="c source-c"><pre class="de1"><span class="kw4">char</span><span class="br0">[</span><span class="br0">]</span> a1 <span class="sy1">=</span> <span class="st0">"abc"</span><span class="sy4">;</span> <span class="co1">// a1 is char[4] holding {'a', 'b', 'c', '\0'}</span>
<span class="kw4">char</span><span class="br0">[</span><span class="nu0">4</span><span class="br0">]</span> a2 <span class="sy1">=</span> <span class="st0">"abc"</span><span class="sy4">;</span> <span class="co1">// a2 is char[4] holding {'a', 'b', 'c', '\0'}</span>
<span class="kw4">char</span><span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span> a3 <span class="sy1">=</span> <span class="st0">"abc"</span><span class="sy4">;</span> <span class="co1">// a3 is char[3] holding {'a', 'b', 'c'}</span></pre></div></div>
<h3>
<span class="editsection">[<a href="http%3A//en.cppreference.com/mwiki/index.php" title="Edit section: Example">edit</a>]</span> <span class="mw-headline" id="Example">Example</span>
</h3>
<div class="t-example">
<div class="t-example-live-link"><div class="coliru-btn coliru-btn-run-init">Run this code</div></div>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="c source-c"><pre class="de1"><span class="co2">#include &lt;stdio.h&gt;</span>
<span class="co2">#include &lt;stdlib.h&gt;</span>
<span class="co2">#include &lt;stddef.h&gt;</span>
<span class="co2">#include &lt;uchar.h&gt;</span>
<span class="co2">#include &lt;locale.h&gt;</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="kw4">void</span><span class="br0">)</span>
<span class="br0">{</span>
    <span class="kw4">char</span> s1<span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> <span class="st0">"a猫🍌"</span><span class="sy4">;</span> <span class="co1">// or "a\u732B\U0001F34C"</span>
    <span class="kw4">char</span> s2<span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> u8<span class="st0">"a猫🍌"</span><span class="sy4">;</span>
    char16_t s3<span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> u<span class="st0">"a猫🍌"</span><span class="sy4">;</span>
    char32_t s4<span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> U<span class="st0">"a猫🍌"</span><span class="sy4">;</span>
    <span class="kw4">wchar_t</span> s5<span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> L<span class="st0">"a猫🍌"</span><span class="sy4">;</span>
 
    <a href="../locale/setlocale.html"><span class="kw901">setlocale</span></a><span class="br0">(</span><a href="../locale/LC_categories.html"><span class="kw904">LC_ALL</span></a>, <span class="st0">"en_US.utf8"</span><span class="br0">)</span><span class="sy4">;</span>
    <a href="../io/fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">"  <span class="es1">\"</span>%s<span class="es1">\"</span> is a char[%zu] holding { "</span>, s1, <span class="kw4">sizeof</span> s1 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s1<span class="br0">)</span><span class="sy4">;</span>
    <span class="kw1">for</span><span class="br0">(</span><a href="../types/size_t.html"><span class="kw100">size_t</span></a> n <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span> n <span class="sy1">&lt;</span> <span class="kw4">sizeof</span> s1 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s1<span class="sy4">;</span> <span class="sy2">++</span>n<span class="br0">)</span> 
        <a href="../io/fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">"%#x "</span>, <span class="sy2">+</span><span class="br0">(</span><span class="kw4">unsigned</span> <span class="kw4">char</span><span class="br0">)</span>s1<span class="br0">[</span>n<span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span> <a href="../io/puts.html"><span class="kw836">puts</span></a><span class="br0">(</span><span class="st0">" }"</span><span class="br0">)</span><span class="sy4">;</span>
    <a href="../io/fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">"u8<span class="es1">\"</span>%s<span class="es1">\"</span> is a char[%zu] holding { "</span>, s2, <span class="kw4">sizeof</span> s2 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s2<span class="br0">)</span><span class="sy4">;</span>
    <span class="kw1">for</span><span class="br0">(</span><a href="../types/size_t.html"><span class="kw100">size_t</span></a> n <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span> n <span class="sy1">&lt;</span> <span class="kw4">sizeof</span> s2 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s2<span class="sy4">;</span> <span class="sy2">++</span>n<span class="br0">)</span> 
       <a href="../io/fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">"%#x "</span>, <span class="sy2">+</span><span class="br0">(</span><span class="kw4">unsigned</span> <span class="kw4">char</span><span class="br0">)</span>s2<span class="br0">[</span>n<span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span> <a href="../io/puts.html"><span class="kw836">puts</span></a><span class="br0">(</span><span class="st0">" }"</span><span class="br0">)</span><span class="sy4">;</span>
    <a href="../io/fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">" u<span class="es1">\"</span>a猫🍌<span class="es1">\"</span> is a char16_t[%zu] holding { "</span>, <span class="kw4">sizeof</span> s3 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s3<span class="br0">)</span><span class="sy4">;</span>
    <span class="kw1">for</span><span class="br0">(</span><a href="../types/size_t.html"><span class="kw100">size_t</span></a> n <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span> n <span class="sy1">&lt;</span> <span class="kw4">sizeof</span> s3 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s3<span class="sy4">;</span> <span class="sy2">++</span>n<span class="br0">)</span> 
       <a href="../io/fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">"%#x "</span>, s3<span class="br0">[</span>n<span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span> <a href="../io/puts.html"><span class="kw836">puts</span></a><span class="br0">(</span><span class="st0">" }"</span><span class="br0">)</span><span class="sy4">;</span>
    <a href="../io/fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">" U<span class="es1">\"</span>a猫🍌<span class="es1">\"</span> is a char32_t[%zu] holding { "</span>, <span class="kw4">sizeof</span> s4 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s4<span class="br0">)</span><span class="sy4">;</span>
    <span class="kw1">for</span><span class="br0">(</span><a href="../types/size_t.html"><span class="kw100">size_t</span></a> n <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span> n <span class="sy1">&lt;</span> <span class="kw4">sizeof</span> s4 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s4<span class="sy4">;</span> <span class="sy2">++</span>n<span class="br0">)</span> 
       <a href="../io/fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">"%#x "</span>, s4<span class="br0">[</span>n<span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span> <a href="../io/puts.html"><span class="kw836">puts</span></a><span class="br0">(</span><span class="st0">" }"</span><span class="br0">)</span><span class="sy4">;</span>
    <a href="../io/fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">" L<span class="es1">\"</span>%ls<span class="es1">\"</span> is a wchar_t[%zu] holding { "</span>, s5, <span class="kw4">sizeof</span> s5 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s5<span class="br0">)</span><span class="sy4">;</span>
    <span class="kw1">for</span><span class="br0">(</span><a href="../types/size_t.html"><span class="kw100">size_t</span></a> n <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span> n <span class="sy1">&lt;</span> <span class="kw4">sizeof</span> s5 <span class="sy2">/</span> <span class="kw4">sizeof</span> <span class="sy2">*</span>s5<span class="sy4">;</span> <span class="sy2">++</span>n<span class="br0">)</span> 
       <a href="../io/fprintf.html"><span class="kw851">printf</span></a><span class="br0">(</span><span class="st0">"%#x "</span>, s5<span class="br0">[</span>n<span class="br0">]</span><span class="br0">)</span><span class="sy4">;</span> <a href="../io/puts.html"><span class="kw836">puts</span></a><span class="br0">(</span><span class="st0">" }"</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div></div>
<p>Possible output:
</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="text source-text"><pre class="de1">"a猫🍌" is a char[9] holding { 0x61 0xe7 0x8c 0xab 0xf0 0x9f 0x8d 0x8c 0  }
u8"a猫🍌" is a char[9] holding { 0x61 0xe7 0x8c 0xab 0xf0 0x9f 0x8d 0x8c 0  }
 u"a猫🍌" is a char16_t[5] holding { 0x61 0x732b 0xd83c 0xdf4c 0  }
 U"a猫🍌" is a char32_t[4] holding { 0x61 0x732b 0x1f34c 0  }
 L"a猫🍌" is a wchar_t[4] holding { 0x61 0x732b 0x1f34c 0  }</pre></div></div> 
</div>
<h3>
<span class="editsection">[<a href="http%3A//en.cppreference.com/mwiki/index.php" title="Edit section: References">edit</a>]</span> <span class="mw-headline" id="References">References</span>
</h3>
<div class="t-ref-std-11">
<ul><li> C11 standard (ISO/IEC 9899:2011): 
</li></ul>
<dl><dd>
<ul><li> 6.4.5 String literals (p: 70-72)
</li></ul>
</dd></dl>
<div class="t-ref-std-c99">
<ul><li> C99 standard (ISO/IEC 9899:1999): 
</li></ul>
<dl><dd>
<ul><li> 6.4.5 String literals (p: 62-63)
</li></ul>
</dd></dl>
<div class="t-ref-std-c89">
<ul><li> C89/C90 standard (ISO/IEC 9899:1990): 
</li></ul>
<dl><dd>
<ul><li> 3.1.4 String literals 
</li></ul>
</dd></dl>
</div>
<h3>
<span class="editsection">[<a href="http%3A//en.cppreference.com/mwiki/index.php" title="Edit section: See also">edit</a>]</span> <span class="mw-headline" id="See_also">See also</span>
</h3>
<table class="t-dsc-begin">

<tr class="t-dsc">
<td colspan="2"> <div class="t-dsc-see">
<span><a href="../../cpp/language/string_literal.html" title="cpp/language/string literal">C++ documentation</a></span> for <span class="t-dsc-see-tt"><span>string literal</span></span>
</div>
</td>
</tr>

</table>
</div>
</div>

<!-- 
NewPP limit report
Preprocessor visited node count: 3304/1000000
Preprocessor generated node count: 6150/1000000
Post‐expand include size: 78361/2097152 bytes
Template argument size: 18778/2097152 bytes
Highest expansion depth: 16/40
Expensive parser function count: 0/100
-->

<!-- Saved in parser cache with key mwiki1-mwiki_en_:pcache:idhash:13907-0!*!0!!en!*!* and timestamp 20150625111948 -->
</div>                    <!-- /bodycontent -->
                                        <!-- printfooter -->
                    <div class="printfooter">
                    Retrieved from "<a href="http%3A//en.cppreference.com/mwiki/index.php">http://en.cppreference.com/mwiki/index.php?title=c/language/string_literal&amp;oldid=79146</a>"                    </div>
                    <!-- /printfooter -->
                                                            <!-- catlinks -->
                    <div id="catlinks" class="catlinks catlinks-allhidden"></div>                    <!-- /catlinks -->
                                                            <div class="visualClear"></div>
                    <!-- debughtml -->
                                        <!-- /debughtml -->
                </div>
                <!-- /bodyContent -->
            </div>
        </div>
        <!-- /content -->
        <!-- footer -->
        
        <!-- /footer -->
        <script>if(window.mw){
mw.loader.state({"site":"loading","user":"missing","user.groups":"ready"});
}</script>
<script src="../../../common/skin_scripts.js"></script>
<script>if(window.mw){
mw.loader.load(["mediawiki.action.view.postEdit","mediawiki.user","mediawiki.page.ready","mediawiki.searchSuggest","mediawiki.hidpi","ext.gadget.ColiruCompiler"], null, true);
}</script>
<script src="../../../common/site_scripts.js"></script>

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-2828341-1']);
_gaq.push(['_setDomainName', 'cppreference.com']);
_gaq.push(['_trackPageview']);
</script><!-- Served in 0.087 secs. -->
	</body>
<!-- Cached 20150625112815 -->
</html>
